package business;

import business.EmpregadoBO;
import business.EmpregadoException;
import model.Empregado;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.text.ParseException;

import java.util.Locale;
import junit.framework.Assert;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;

/**
 *
 */
public class EmpregadoBOTestIdade {

	public EmpregadoBOTestIdade() {
	}

	@BeforeClass
	public static void setUpClass() throws Exception {
	}

	@AfterClass
	public static void tearDownClass() throws Exception {
	}

	@Before
	public void setUp() {
	}

	@After
	public void tearDown() {
	}
	/**
	 * Testes do método que verifica se a idade calculada está correta
	 * 
	 * 
	 */

	@Test
	public void testCalculaIdadeQuandoEmpregadoJaFezAniversarioNoAnoAtual() throws EmpregadoException, ParseException
	{

		String dataTeste = "09/05/1991";

		int idade= EmpregadoBO.getInstance().calculaIdade(dataTeste);

		assertEquals(20, idade);
	}

	@Test
	public void testCalculaIdadeQuandoEmpregadoNaoFezAniversarioNoAnoAtual() throws EmpregadoException, ParseException
	{

		String dataTeste="21/12/1988";
                
                int idade = EmpregadoBO.getInstance().calculaIdade(dataTeste);
                
                assertEquals(22, idade);
                
        }


	@Test
	public void testCalculaIdadeQuandoEmpregadoFazAniversarioHojeNoAnoAtual()throws EmpregadoException, ParseException
        {
                
                SimpleDateFormat formatar = new SimpleDateFormat("dd/MM/yyyy");
        
                Calendar hoje = Calendar.getInstance();
                hoje.add(Calendar.YEAR, -20); 
                String aniversarioHoje = formatar.format(hoje.getTime());
                
                
                System.out.println(aniversarioHoje);
                
                int idade = EmpregadoBO.getInstance().calculaIdade(aniversarioHoje);
                
                assertEquals(20, idade);

	}
}

